#include <iostream>
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>

void handler(int sig)
{
    std::cout << "我是: " << getpid() << ", 我获得了⼀个信号: " << sig << std::endl;
}

int main()
{
    std::cout << "我是进程: " << getpid() << std::endl;
    for(int i=1;i<32;i++)
    {
        signal(i, handler);
    }

    for(int i=1;i<32;i++)
    {
        sleep(1);
        if(i==9||i==19)
        {
            continue;
        }
        raise(i);
    }
   
    while (1)
    {
        std::cout << "I am a process, I am waiting signal!" << std::endl;
        //abort();
        sleep(1);
    }
}